Enterprise Version
abstract composition